'use strict';

/**
 * 记录客户端错误日志的云函数
 * @param {Object} event - 包含错误信息的对象
 * @param {string} event.type - 错误类型
 * @param {string} event.error_type - 具体错误类型
 * @param {string} event.error_message - 错误消息
 * @param {string} event.page - 发生错误的页面
 * @param {Object} event.device_info - 设备信息
 */
exports.main = async (event, context) => {
	console.log('记录客户端错误日志:', event);
	
	// 获取数据库引用
	const db = uniCloud.database();
	
	try {
		// 增强日志数据
		const logData = {
			...event,
			client_ip: context.CLIENTIP || '',
			platform: context.PLATFORM || event.device_info?.platform || '',
			app_id: context.APPID || '',
			user_id: event.user_id || context.USERID || 'anonymous', 
			timestamp: event.timestamp || Date.now(),
			log_time: new Date().toISOString()
		};
		
		// 写入系统日志表
		const result = await db.collection('system_logs').add(logData);
		
		console.log('日志记录成功:', result);
		
		return {
			code: 0,
			message: '日志记录成功'
		};
	} catch (error) {
		console.error('记录日志失败:', error);
		return {
			code: -1,
			message: '记录日志失败: ' + error.message
		};
	}
}; 